The present invention pertains generally to magnetic tape drives, and more particularly to the use of central control packets for monitoring and adjusting tape positioning control parameters.
Tape storage technology is routinely used for routine system back up and long-term data archiving. The successful recovery of data from a tape is highly dependent on a number of physical and logical tape positioning parameters. These include the timing of the read head signal over the tape, the linear positioning of the tape based on the reel tach counters, and logical filemark positioning parameters.
Using the methodology of conventional recording techniques, data is partitioned into packets which are recorded onto a magnetic tape along tracks. The drive mechanism and media tolerances are tightly controlled to maintain a very precise alignment between the path traced by the heads and the written tracks on a tape.
During data recovery, a read head passes over the tape and attempts to read all of the track packets in a single pass. In order to successfully recover all of the track packets, the read head must be enabled during the time it passes over the tracks. Generally the timing of the read head enable signal is calibrated using a known good tape during manufacture. The timing interval is stored in a non-volatile memory before it is shipped to the end user and is subsequently used by the drive as a fixed parameter. The inability to adjust the read head timing occasionally results in data recovery problems generally caused by variations in tape alignment among different tapes or by data interchange problems caused when a tape is written by one drive and another drive attempts to read it. If the read head timing of the different drives vary by much, the read head signal may not be enabled while it is over a portion of the tracks recorded by another drive, resulting in the inability to read a portion of every track. Accordingly, a need exists for a method for adaptively adjusting the read head timing signal in a tape drive to conform to the physical position of the tracks on the tape. The write enable signal is also adjusted to allow splicing with the same offset that is found on the tape.
Tape drive designers must also contend with another physical positioning parameterxe2x80x94namely, the reel tach counters for use in linear tape positioning. Conventional tape drives wind tape between two reelsxe2x80x94a supply reel and a take-up reel. During forward tape motion, tape is pulled from the supply reel and wound around the take-up reel. During reverse tape motion, tape is pulled from the take-up reel and wound around the supply reel. Most tape drives includes a supply reel tachometer and a takeup reel tachometer. The reel tachometers each count a predetermined number of reel tachs per reel revolution. The rate at which one reel tach count changes is inversely proportional to the rate at which the other reel tach count changes. However, because the outer circumference of the supply and take-up reel varies as tape is transported from one reel to the other, no linear correlation exists between either reel tach count, taken alone, and the linear position of the tape. However, the sum, hereinafter xe2x80x9creel countxe2x80x9d, of the supply and takeup reel tach counts generate a roughly linear function. If the reel count consistently reflected a given value at a given linear position of the tape, it could be used as a coarse positioning tool for determining whether a known position on the tape, as reflected by a given reel count, is nearby and, when performing high-speed search operations, whether the speed of the tape should be increased, decreased, maintained, or stopped.
Depending on the speed at which the tape is wound around each of the reels, however, the reel count varies for any given linear position on tape. Thus, the reel count does not consistently reflect a given reel count value at a given linear position on the tape. For example, a high-speed tape transport, such as occurs during a rewind or a high-speed search, results in the tape being wound around the receiving reel at a looser winding tension than if it were being wound around the reel at a slower more-controlled speed, such as the normal 1xc3x97 read or write speed. Accordingly, differing tape winding tensions result in differing outer circumference measurements of the tape around the reel for the same linear tape position. This affects the correlation of the reel tach count with the linear position of the tape since to reach the same linear position on tape takes fewer revolutions of the reel when the tape winding tension around the reel is lower than when the tension is higher. If the reel tach count reflects a given value when data is recorded at a given linear position on tape, the reel tach count is likely to reflect a different value when the same linear position of the tape is encountered during a later data recovery or search operation depending on the winding tension of the tape around the reel. Accordingly, a need exists for a method for providing consistent correlation between the reel tach count and the linear position of the tape.
Tape positioning parameters may also be related to logical positioning. Increased data recovery rates may often be improved by decreasing the amount of time it takes to search for a particular position on tape. Track packets generally comprise either user data (hereinafter termed a xe2x80x9cdata packetxe2x80x9d) or system control information (hereinafter termed a xe2x80x9ccontrol packetxe2x80x9d). Control packets contain information relating to the position of the media (such as beginning- or end-of-media), the beginning and or ending of files or data (e.g., filemarks, tapemarks, end-of-data marks), global address information (e.g., the global segment address of data surrounding the control packet), and system information (such as device control codes). Control packets are generated during recording sessions by the write logic of the drive. Control packets that are recovered from tape during a data recovery session are processed by the read logic of the drive to determine physical and logical tape positioning information and other information pertaining to the data itself.
Global tape positioning is often accomplished through the use of filemarks. Filemarks are used to delineate different sets of data that may or may not be recorded during different recording sessions. Filemarks are typically recorded as special filemark control packets along one or a small number of tracks. Searching is accomplished by searching for the special filemark control packets. However, because filemark control packets are recorded only over one or a small number of tracks, the filemark control packets often go undetected by the read head during a high-speed search operation. If a filemark is missed, the high-speed search algorithm will not know it until a subsequent filemark or the end-of-tape is detected. Thus, a search may require several passes over the same portion of tape in either direction before the desired position (i.e., beginning of file) is located. Accordingly, a need exists for a more efficient method for detecting the number of the filemark at a given position on tape during high-speed search operations.